Franaszek, U.S. Pat. No. 3,689,899, issued Sept. 5, 1972, described a method for increasing the density with which data could be recorded on disks, or which could be reliably transmitted through existing channels by a run length limited (RLL) coding technique. This technique converts an ordinary binary data stream into a sequence of ones spaced apart by a variable number of zeros. That is, each "1" in an ordinary binary data stream must be separated from the nearest adjacent "1" by a number of zeros at least equal to a minimum quantity d in order to assure freedom from inter-symbol interference during recording or transmission. However, the number of zeros cannot exceed a maximum number k which is required for self-clocking purposes. Such codes are referred to as (d,k) RLL codes. The coded information is processed in code groups or code words of variable lengths. The lengths of the encoded words bear a constant ratio (fixed rate) to the respective lengths of their corresponding original data words. Further, Franaszek in "Sequence State Methods for Run Length Limited Coding", IBM Journal of Research and Development, pp376-83, July 1970, teaches that a binary stream could be mapped into either a fixed rate or variable rate RLL code using either state-dependent or state independent transformations.
Guazzo, "A General Minimum Redundancy Source Coding Algorithm", IEEE Transactions on Information Theory, Vol. IT26, p1525, January 1980, described the mapping of source streams into a variable rate RLL symbol stream using a Huffman decoder. Recovery of the source stream was by way of applying the RLL symbol stream to a Huffman encoder. In this regard, the Huffman decoder expands the RLL stream relative to the data stream, while the encoder recovered the original stream by compression of the RLL stream.
The compression of bit streams by using a pair of recursions for arithmetically combining bit pairs of relatively shifted finite number streams is described by Rissanen and Langdon in "Arithmetic Coding", IBM Journal of Research and Development, Vol. 23, pp149-62, March 1979. Langdon's method utilizes two recursions. One recursion arithmetically combines an increment to a retained portion of the compressed codestream, while the second recursion controls the compressed stream's length increase. For purposes of completeness, it should be appreciated that arithmetic codes may be either probability oriented or length oriented. These are, for example, respectively described in Langdon, U.S. patent application Ser. No. 098,285, filed Nov. 28, 1979, and Langdon et al, U.S. Pat. No. 4,122,440, issued Oct. 24, 1978.
Martin, U.S. Pat. No. 4,488,143, issued Dec. 11, 1984, describes a method and means for generating a fixed rate RLL code from a data stream using a recursive process and recovering the original data from the encoded stream also by way of a recursive process. Martin's advance was based upon the critical observation that if a length oriented arithmetic decoder were constrained to ONE-TO-ONE map symbol streams in the data stream to RLL stream direction, and if a counterpart arithmetic encoder were constrained to ONTO map symbol streams in the RLL to data stream direction, then such measures would permit recursive code operations and preserve fixed rate property.
It is appreciated that constrained channel environments include recording information on moving magnetic media such as disk or tape. Recording information on such moving magnetic media requires transforming bit streams from an external information source into patterns which are compatible with the spectral characteristics of the recording medium. It is well known that the spectral characteristics of constrained channels or recording codes vary as a function of the distribution of ones and zeros that are recorded. For this reason, it was found desirable to include and exclude certain bit stream combinations. The Martin disclosure was premised upon inverting the order of a known compression technique. It was thus necessary for him to characterize the information as transformed by the compression systems. That is, if a bit stream from an information source was applied to a DASD recording channel, it would enter an arithmetic decoder. Insofar as the decoder was concerned, it would treat this bit stream as if it were a compressed bit stream. The decoder actually expands the bit stream length. It was this manipulation that permitted Martin to match a code to the presumed channel spectral characteristics. Thus, although Guazzo taught the use of an inverted Huffman decoder/encoder pair for generating by concatenation a variable rate RLL stream, Martin used ONE-TO-ONE and ONTO mappings in the appropriate transformation directions to perfect both a fixed rate RLL code and maintain representability.
Franaszek et al, U.S. Pat. No. 4,328,535, issued June 7, 1977, while describing the desirability of obtaining a frequency null as a fraction of the data clock frequency, achieved this by bounding the running sums of the Fourier components at the frequency to be suppressed. Franaszek taught adaptive adjustment by continuously monitoring decoder output and readjusting the translation selection as a function thereof.